package com.cdu.mapper;

import com.cdu.pojo.entity.Product;
import com.cdu.pojo.entity.ProductCategory;
import com.cdu.pojo.vo.ProductVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProductMapper {

    /**
     * 根据分类id查询商品列表
     *
     * @param categoryId 分类id
     * @param userId     用户编号。可能为空
     * @return 商品列表
     */
    List<ProductVO> getProductListByCategoryId(@Param("categoryId") Integer categoryId, @Param("userId") Integer userId);

    int insertProduct(Product product);

    int updateProductStatus(@Param("id") Integer id, @Param("status") Integer status);


    List<ProductCategory> selectAllCategories();


    /**
     * 更新商品信息
     */
    int updateProduct(Product product);

    /**
     * 根据ID查询商品
     */
    Product getProductById(Integer id);
}